This repository contains example code flow to process and classify orthorectified UAV vegetation imagery to identify functional groups and species
This requires processing orthomosaics, Digital Terrain Models (DTM), and Digital Surface Models (DSM) in 3rd party software, typically your flight planning software, as input.
Pre-processing imagery to orthorectify imagery, produce final orthomosaics, incorporate ground control points, and produce digital terrain and digital surface models can be carried out in a variety of proprietary and open source softwares. An example image should look something like this green band which has been extracted from a final mosaic (for ease of display the green band is rendered with a blan to white stretch here…):
Texture analysis is used to generate additional predictor variables beyond red-blue-green values obtained from image pixels. Texture analysis defines a new pixel value based on neighboring rgb values. Neighborhoods with similar values (bare ground for instance) will result in ‘smoother’ textures than neighborhoods with dissimilar values (shrubs, trees, or other ‘rougher’ surfaces). This step can be very slow for larger extents (modification to loop through parallel process on the to-do list).
Neighborhood variance, entropy and skewness are computed here. Neighborhood (window) size should be set based on the number of pixels that covers objects of interest. In this example a neighborhood of 15 pixels was utilized.
This example raster is a zoomed in view of a smaller area from the image above: